home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-26 | 10.0 KB | 202 lines | [ttro/ttxt] |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Q& A #2
-
- By the Apple Computer OpenDoc Human Interface Team
-
- As published in the February 1995 Apple Directions .
-
- This is the second installment of Answers to Questions we've received about
- OpenDoc from engineers in the human interface community through conversation
- and e-mail.
-
- Q: When a frame is resized, should the crop area of the contents change, or
- should the contents be scaled?
-
- A: When the user resizes a frame, two part editors are involved--the editors
- for the container and the embedded part. When the user has selected a part
- frame and resized it, the default behavior of the selected part's editor
- should be to change the cropping of the content. For example, if the
- selected part is a spreadsheet, resizing will show more or fewer cells.
- Optionally, your part editor may have a setting to allow the user to specify
- "change cropping" vs. "scale to fit frame." For "scale to fit frame," the
- currently visible content should expand or contract to fill the resized
- frame. We recommend that your application change the cropping of the resized
- frame as the standard behavior for resizing. If your editor supports scaling
- of embedded content, you should employ a separate mechanism for scaling.
- Consult the OpenDoc Human Interface Guidelines for the Macintosh for a
- description of different approaches.
-
- Q: Some of today's applications support different modes. For example,
- HyperCard allows several modes, including use mode, several different edit
- modes, and a paint mode. How should multiple modes be implemented in
- OpenDoc?
-
- A: By all means, use multiple modes for your part if that makes sense. Do
- follow the standard development guidelines for making the kinds of visual
- distinctions that will help users identify which mode they're in. For
- example, use distinct tools other than the standard arrow tool for different
- modes.
-
- Q: My part editor supports different tools. What should happen when my part
- becomes inactive? For example, if a paint part is set to the eraser tool,
- should it remain so when the frame becomes inactive?
-
- A: Since the guidelines suggest that cursor feedback over inactive parts
- should be the content-specific cursor, the part should retain its tool state
- when it becomes inactive. However, there are exceptions. Because OpenDoc
- uses inside-out activation, some tool states can cause the user to make
- inadvertent changes to content. For example, a single click in an inactive
- frame whose tool is set to the eraser could erase content; a single click in
- an inactive frame whose tool is set to the draw tool would create a point.
- Therefore, when your part becomes inactive, change to a safe, neutral tool
- such as a selection tool. This is consistent with the way many applications
- work today: Tools such as the eraser tool work for only one time, then
- revert to the selection tool.
-
- Q: The linking functionality is hidden within copy and paste. Why doesn't
- linking have its own command, such as Paste Link, instead of hiding under
- Paste As?
-
- A: Copying is copying. In fact, both copying and dragging are simply
- transferring data. Copying is a simple-to-use, fundamental operation.
- Linking is a feature of copying that allows the resultant pasted copies to
- stay synchronized. The mental model we want to support is that linking is
- just an automatic method of copying. This adds some interesting complexity
- to the copy operation. OpenDoc hides this complexity from the user except
- when the user needs explicit control of pasted content. In that case, the
- user may indicate whether copied content should simply be pasted, or pasted
- and linked to the original. Additionally, copied content can be pasted as an
- embedded part or merged with the destination. Since linking has the same set
- of options as a paste operation, linking is implemented in OpenDoc as a part
- of the paste operation.
-
- Q: In OpenDoc, how would I make annotations in the margins of a document?
- Can I drop annotations in as a part?
-
- A: The part developer can choose to support this feature. In OpenDoc, every
- part (except the root part) can be thought of as being contained within
- another part. Each container controls the layout of its embedded parts. A
- container may allow the user to place a part inside the margins of a page,
- but the container editor must be written to support that capability. The
- container editor would need to detect the case where the user drags a part
- or piece of content to the margins, and then place the dragged item there.
-
- Q: Every document should be viewable. Why doesn't OpenDoc allow part viewers
- to be included in the document?
-
- A: We agree that every document should be visible, but encapsulating
- multiple part viewers into a document needlessly swells the size of the
- document, just as always storing a PICT file for every part does. We
- discussed viewers and translation as OpenDoc's answer to the "missing
- editor" problem in last month's article. OpenDoc allows the part to store
- multiple data formats for a part. And while a PICT may be appropriate in
- some circumstances, other formats are often more compact.
-
- We considered a "Make Self-Contained" feature that would produce a document
- with all the necessary viewers encapsulated but decided against this,
- because it looked like a route for viruses. Also, we see this as a
- third-party opportunity for creating tools that produce self-contained
- documents.
-
- Q: When the user opens a part into a window using View In Window, should my
- editor save those window positions?
-
- A: We don't see any reason for OpenDoc parts to deviate from the standard
- Macintosh human interface guidelines for windows. To reiterate those
- guidelines: Before closing a window, check to see whether the user has
- changed its size or position. Save window positions, and reopen windows in
- the size and position in which the user left them. If a user opens, moves,
- and closes a document window without making any other changes, save the new
- window position but don't modify the date stamp of the document. If the user
- does not change the size or position of the window, don't save the position
- when the user closes the window. Before reopening a window, check to make
- sure that the size and state are reasonable for the user's current monitor
- or monitors, which may not be the same as the monitor on which the document
- was last open.
-
- Q: Can I use a Window menu for subordinate windows and window-management
- commands such as Tile and Stack?
-
- A: OpenDoc uses the Application menu (also known as the Process menu) as a
- way to find the documents that are currently open. So, in contrast to
- today's model, in which a Window menu shows only the windows of the current
- application, in OpenDoc the Application menu is system-wide. Therefore, we
- recommend limiting the use of any Window menu to situations in which there
- are multiple views of a document, such as subordinate windows. For example,
- in a CAD system, it may make sense to list these views or related commands
- in a Window menu. In this case, you should consider whether a View menu
- adequately addresses their needs before resorting to a Window menu. See the
- OpenDoc Human Interface Guidelines for detailed discussion of these menus.
-
- Q: Does OpenDoc allow copied content from a non-OpenDoc application to be
- pasted into an OpenDoc document?
-
- A: Yes. The first thing to keep in mind is that the transferred data is not
- a part, it's just data. There are two cases to support: (1) the destination
- part can receive the data and merge it into itself; and (2) the destination
- part can't merge the data but allows it to be embedded. When a destination
- receives a paste or drop, it looks at the contents and tries to incorporate
- or merge the data into its contents. For example, suppose some text from a
- word processor is pasted into an OpenDoc text part. The OpenDoc text editor
- sees that one of the kinds of data available on the Clipboard is text and
- pastes it in. In fact, there are often different kinds of content available.
- In this case, there may be simple text as well as richer formats such as
- styled text. The OpenDoc text editor should use the richest format possible
- in order to preserve information.
-
- If the content on the Clipboard is of similar kind, then it can be
- incorporated into the destination. The destination part determines whether
- the content is similar by using the kind of the content to look up its
- category. If the category is the same as the destination, then translation
- is used to incorporate the content.
-
- If the category is different from that of the destination, then a part of
- the appropriate kind is created to store it, and it is embedded in the
- destination part. If the contents being added were created with SurfWriter,
- then a SurfWriter kind of part is created; if the SurfWriter editor is not
- available, then the part is defined by the user's preference. So, if the
- text is then pasted into SurfDraw, the system examines the user's
- preferences (set in the Editor Preferences control panel on the Macintosh
- computer), creates a part of the preferred kind within the drawing, and
- finally puts the pasted contents into that part.
-
- Q: In embedding OLE parts, when should OLE standards be used and when should
- OpenDoc standards be used?
-
- A: We believe that OpenDoc provides a better overall user experience than
- OLE 2.0. Thus, whenever OLE objects are embedded within OpenDoc documents,
- we attempt to present an OpenDoc experience. For example, the menus are made
- to match the OpenDoc standard. However, it is not always possible to make
- these OLE objects behave exactly like OpenDoc parts. Therefore, we use the
- OLE visual feedback for OLE parts so that the user will at least know that
- these are not standard OpenDoc parts.
-
- Q: What kind of standards exist for common command elements, such as menus
- and tool bar buttons?
-
- A: We are working with CI Labs to create standards for tool bar icons,
- placement of items and frequently used menus, tool bar reuse, and standard
- icons. If this is an area you're interested in contributing to, please
- contact us.
-
- Authors: Dave Curbow and Elizabeth Dykstra-Erickson writing for the OpenDoc
- Human Interface teams.
- _______________________________________________________
-
- Copyright (c) 1995 by Apple Computer, Inc. All Rights Reserved.
-